package com.todo.strategy.online.infrastructure.repository;

import com.todo.strategy.online.infrastructure.entity.domain.PlatformStrategyDO;
import com.todo.strategy.online.infrastructure.entity.po.PlatformStrategyDetailPO;
import com.todo.strategy.online.infrastructure.entity.po.PlatformStrategyPO;

import java.util.List;

/**
 * (PlatformStrategy)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 21:10:04
 */
public interface PlatformStrategyRepository {

    /**
     * 根据主键id查询平台攻略信息
     *
     * @param id
     * @return
     */
    PlatformStrategyDO queryPlatformStrategyById(Long id);

    /**
     * 根据主键id查询平台攻略基础信息
     *
     * @param id
     * @return
     */
    PlatformStrategyPO queryBasePlatformStrategyById(Long id);

    /**
     * 根据主键id查询平台攻略基础详情
     *
     * @param id
     * @return
     */
    PlatformStrategyDetailPO queryPlatformStrategyDetailById(Long id);

    /**
     * 根据主键id集合查询平台攻略信息
     *
     * @param strategyIdList
     * @return
     */
    List<PlatformStrategyPO> queryPlatformStrategyByIdList(List<Long> strategyIdList);

    /**
     * 根据主键id更新平台攻略信息
     *
     * @param platformStrategyPO
     * @return
     */
    Boolean updatePlatformStrategyInfo(PlatformStrategyPO platformStrategyPO);

    /**
     * 插入平台攻略详情信息
     *
     * @param platformStrategyDO
     * @return
     */
    Boolean insertPlatformStrategyDetail(PlatformStrategyDO platformStrategyDO);

    /**
     * 更新平台攻略详情信息
     *
     * @param platformStrategyDO
     * @return
     */
    Boolean updatePStrategyDetail(PlatformStrategyDO platformStrategyDO);

    /**
     * 删除平台攻略详情信息
     *
     * @param businessId
     * @return
     */
    Boolean removePStrategyDetail(Long businessId);
}
